home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Borland Visual dBASE Professiona v7.0 / DATA1.CAB / Sample_dBASE / Mugs / Ichart.wfm < prev    next >
Text File  |  1997-11-20  |  14KB  |  398 lines

  1. //--------------------------------------------------------------
  2. //
  3. //  IChart.wfm - Inventory Chart for the Mugs Sample Application
  4. //
  5. //  This form uses an ActiveX control to display a graph of
  6. //  current inventory levels by supplier. This ActiveX is one
  7. //  of three graphing ActiveX controls that come with Visual
  8. //  dBASE. 
  9. //
  10. //  Refer to the Graph Help for detailed information on using
  11. //  the ActiveX. This form defines all the constants associated
  12. //  with this ActiveX.
  13. //  
  14. //  
  15. //  Dependencies: INVENTORY.DMD
  16. //                Pinnacle-BPS Graph Control (GRAPH32.OCX)
  17. //     
  18. //  Visual dBASE Samples Group
  19. //
  20. //  $Revision:   1.9  $
  21. //
  22. //  Copyright (c) 1997, Borland International, Inc. 
  23. //  All rights reserved.
  24. //
  25. //---------------------------------------------------------------
  26.  
  27. // AutoInc Constants
  28. #define  gphOff                  0  /* Automatic incrementing off. */
  29. #define  gphOn                   1  /* Automatic incrementing on. */
  30.  
  31. // DrawLineStyle and LegendStyle Constants
  32. #define gphMonochrome            0  /* Background white - all colors black. */
  33. #define gphColor                 1  /* Uses specified colors. */
  34.  
  35. // Graph type contstants
  36. #define  gphNone                 0  /* No graph. */
  37. #define  gphPie2d                1  /* Two-dimensional pie chart. */
  38. #define  gphPie3d                2  /* Three-dimensional pie chart. */
  39. #define  gphBar2d                3  /* Two-dimensional bar chart. */
  40. #define  gphBar3d                4  /* Three-dimensional bar chart. */
  41. #define  gphGantt                5  /* Gantt chart. */
  42. #define  gphLine                 6  /* Line graph. */
  43. #define  gphLogLin               7  /* Log/Lin graph. */
  44. #define  gphArea                 8  /* Area graph. */
  45. #define  gphScatter              9  /* Scatter graph. */
  46. #define  gphPolar               10  /* Polar graph. */
  47. #define  gphHLC                 11  /* High-low-close graph. */
  48.  
  49. // BackgroundColor, ForegroundColor, and ColorData Constants
  50. #define  gphBlack                0  /* Black. */
  51. #define  gphBlue                 1  /* Blue. */
  52. #define  gphGreen                2  /* Green. */
  53. #define  gphCyan                 3  /* Cyan. */
  54. #define  gphRed                  4  /* Red. */
  55. #define  gphMagenta              5  /* Magenta. */
  56. #define  gphBrown                6  /* Brown. */
  57. #define  gphLightGray            7  /* Light gray. */
  58. #define  gphDarkGray             8  /* Dark gray. */
  59. #define  gphLightBlue            9  /* Light blue. */
  60. #define  gphLightGreen          10  /* Light green. */
  61. #define  gphLightCyan           11  /* Light cyan. */
  62. #define  gphLightRed            12  /* Light red. */
  63. #define  gphLightMagenta        13  /* Light magenta. */
  64. #define  gphYellow              14  /* Yellow. */
  65. #define  gphWhite               15  /* White. */
  66. #define  gphAutoBW              16  /* (Default) Auto black and white. */
  67.  
  68.  
  69. // SymbolData Constants
  70. #define  gphCrossPlus            0  /* Plus sign (+) symbol. */
  71. #define  gphCrossTimes           1  /* Multiplication sign (x) symbol.*/
  72. #define  gphTriangleUp           2  /* Upright triangle symbol. */
  73. #define  gphSolidTriangle        3  /* Solid triangle symbol. */
  74. #define  gphTriangleDown         4  /* Upside-down triangle symbol. */
  75. #define  gphSolidTriangleDown    5  /* Upside-down solid triangle symbol. */
  76. #define  gphSquare               6  /* Square symbol. */
  77. #define  gphSolidSquare          7  /* Solid square symbol. */
  78. #define  gphDiamond              8  /* Diamond symbol. */
  79. #define  gphSolidDiamond         9  /* Solid diamond symbol. */
  80.  
  81. // GridStyle Constants
  82. #define  gphNone                 0  /* No grid. */
  83. #define  gphHorizontal           1  /* Horizontal grid. */
  84. #define  gphVertical             2  /* Vertical grid. */
  85. #define  gphBoth                 3  /* Both grids. */
  86.  
  87. // DataReset Constants
  88. #define  gphNone                 0  /* No reset. */
  89. #define  gphGraphData            1  /* Resets graph data. */
  90. #define  gphColorColorData       2  /* Resets color data. */
  91. #define  gphExtraData            3  /* Resets extra data. */
  92. #define  gphLabelText            4  /* Resets label text. */
  93. #define  gphLegendText           5  /* Resets legend text. */
  94. #define  gphPatternData          6  /* Resets pattern data. */
  95. #define  gphSymbolData           7  /* Resets symbol data. */
  96. #define  gphXPosData             8  /* Resets x-position data. */
  97. #define  gphAllData              9  /* Resets all data. */
  98. #define  gphFontInfo            10  /* Resets font information. */
  99.  
  100. // DrawMode Constants
  101. #define  gphNoAction             0  /* No graph drawn at design time. */
  102. #define  gphClear                1  /* Display properties without graph */
  103. #define  gphDraw                 2  /* Always displays graph. */
  104. #define  gphBlit                 3  /* Use blitting technique. */
  105. #define  gphCopy                 4  /* Copies graph to Clipboard. */
  106. #define  gphPrint                5  /* Sends graph to printer. */
  107. #define  gphWrite                6  /* Writes graph to disk. */
  108.  
  109. // FontStyle Constants
  110. #define  gphDefault              0  /* Default. */
  111. #define  gphItalic               1  /* Italic. */
  112. #define  gphBold                 2  /* Bold. */
  113. #define  gphBoldItalic           3  /* BoldItalic. */
  114. #define  gphUnderlined           4  /* Underlined. */
  115. #define  gphUnderlinedItalic     5  /* UnderlinedItalic. */
  116. #define  gphUnderlinedBold       6  /* UnderlinedBold. */
  117. #define  gphUnderlinedBoldItalic 7  /* UnderlinedBoldItalic. */
  118.  
  119. // FontFamily Constants
  120. #define  gphRoman                0  /* Roman. */
  121. #define  gphSwiss                1  /* Swiss. */
  122. #define  gphModern               2  /* Modern. */
  123.  
  124. // FontUse Constants
  125. #define  gphGraphTitle           0  /* GraphTitle. */
  126. #define  gphOtherTitles          1  /* OtherTitles. */
  127. #define  gphLabels               2  /* Labels. */
  128. #define  gphLegend               3  /* Legend. */
  129. #define  gphAllText              4  /* AllText. */
  130.  
  131. // IndexStyle Constants
  132. #define  gphStandard             0  /* Standard. */
  133. #define  gphEnhanced             1  /* Enhanced. */
  134.  
  135. // Labels Constants
  136. #define  gphOff                  0  /* Off. */
  137. #define  gphOn                   1  /* On. */
  138. #define  gphXAxisLabelsOnly      2  /* X-axis labels only. */
  139. #define  gphYAxisLabelsOnly      3  /* Y-axis labels only. */
  140.  
  141. // LineStats Constants
  142. #define  gphNone                 0  /* None. */
  143. #define  gphMean                 1  /* Mean. */
  144. #define  gphMinmax               2  /* MinMax. */
  145. #define  gphMeanMinmax           3  /* Mean and MinMax. */
  146. #define  gphStddev               4  /* Stddev. */
  147. #define  gphStddevMean           5  /* StdDev and Mean. */
  148. #define  gphStddevMinmax         6  /* StdDev and MinMax. */
  149. #define  gphStddevMinmaxMean     7  /* StdDev and MinMax and Mean. */
  150. #define  gphBestfit              8  /* BestFit. */
  151. #define  gphBestfitMean          9  /* BestFit and Mean. */
  152. #define  gphBestfitMinmax       10  /* BestFit and MinMax. */
  153. #define  gphBestfitMinmaxMean   11  /* BestFit and MinMax and Mean. */
  154. #define  gphBestfitStddev       12  /* BestFit and StdDev. */
  155. #define  gphBestfitStddevMean   13  /* BestFit and StdDev and Mean. */
  156. #define  gphBestfitStddevMinmax 14  /* BestFit and StdDev and MinMax. */
  157. #define  gphAll                 15  /*  All. */
  158.  
  159. // Palette Constants
  160. #define  gphDefault              0  /* Default. */
  161. #define  gphPastel               1  /* Pastel. */
  162. #define  gphGrayscale            2  /* Grayscale. */
  163.  
  164. // PatternedLines Constants
  165. #define  gphPatternOff           0  /* Pattern off. */
  166. #define  gphPatternOn            1  /* Pattern on. */
  167.  
  168. // PrintStyle Constants
  169. #define  gphMonochrome           0  /* Color. */
  170. #define  gphColor                1  /* Color with border. */
  171. #define  gphMonochromeWithBorder 2  /* Monochrome. */
  172. #define  gphColorWithBorder      3  /* Monochrome with border. */
  173.  
  174. // RandomData Constants
  175. #define  gphOff                  0  /* Off. */
  176. #define  gphOn                   1  /* On. */
  177.  
  178. // ThickLines Constants
  179. #define gphLinesOff              0  /* Lines off. */
  180. #define gphLinesOn               1  /* Lines on. */
  181.  
  182. // YAxisPos Constants
  183. #define  gphDefault              0  /* Default. */
  184. #define  gphAlignLeft            1  /* Align left. */
  185. #define  gphAlignRight           2  /* Align right. */
  186.  
  187. // YAxisStyle Constants
  188. #define  gphDefault              0  /* Default. */
  189. #define  gphVariableOrigin       1  /* Variable origin. */
  190. #define  gphUserDefined          2  /* User-defined. */
  191.  
  192. // Ticks Constants
  193. #define  gphTicksOff             0  /* Ticks off. */
  194. #define  gphTicksOn              1  /* Ticks on. */
  195. #define  gphXAxisTicksOnly       2  /* X-axis ticks only. */
  196. #define  gphYAxisTicksOnly       3  /* Y-axis ticks only. */
  197.  
  198. SET TALK OFF
  199. ** END HEADER -- do not remove this line
  200. //
  201. // Generated on 10/23/97
  202. //
  203. parameter bModal
  204. local f
  205. f = new ichartForm()
  206. if (bModal)
  207.    f.mdi = false // ensure not MDI
  208.    f.readModal()
  209. else
  210.    f.open()
  211. endif
  212.  
  213. class ichartForm of FORM
  214.    set procedure to MUGS.CC additive
  215.    with (this)
  216.       open = class::FORM_OPEN
  217.       readModal = class::FORM_READMODAL
  218.       scaleFontSize = 8
  219.       scaleFontBold = false
  220.       height = 16.7273
  221.       left = 3
  222.       top = 0.5789
  223.       width = 69.1429
  224.       text = "Inventory Chart"
  225.    endwith
  226.  
  227.  
  228.    this.DMINVENTORY = new DATAMODREF()
  229.    this.DMINVENTORY.parent = this
  230.    with (this.DMINVENTORY)
  231.       filename = "inventory.dmd"
  232.       dataModClass = "InventoryDataModule"
  233.       share = 0
  234.       active = true
  235.       left = 0
  236.       top = 0
  237.    endwith
  238.  
  239.  
  240.    this.CHARTBOX = new RECTANGLE(this)
  241.    with (this.CHARTBOX)
  242.       left = 2
  243.       top = 0.9545
  244.       width = 66
  245.       height = 11.8421
  246.       metric = 0
  247.       text = ""
  248.       colorNormal = "WindowText/BtnFace"
  249.       fontName = "MS Sans Serif"
  250.       fontSize = 8
  251.       pageno = 0
  252.    endwith
  253.  
  254.  
  255.    this.RECTANGLE1 = new RECTANGLE(this)
  256.    with (this.RECTANGLE1)
  257.       left = 2
  258.       top = 13.2727
  259.       width = 48
  260.       height = 2.8421
  261.       metric = 0
  262.       text = "Supplier"
  263.       colorNormal = "WindowText/BtnFace"
  264.       fontName = "MS Sans Serif"
  265.       fontSize = 8
  266.    endwith
  267.  
  268.  
  269.    this.CHART = new ACTIVEX(this)
  270.    with (this.CHART)
  271.       height = 10.8947
  272.       left = 3
  273.       top = 1.4211
  274.       width = 64
  275.       metric = 0
  276.       license = ""
  277.       state = "BBBBBCBBMHDFBBBBJECEBBBBHBBBBBBBBCBBBCHFBBBCBBBQBBBBBDBBBCBBCBBBBBBBBBBBBEBBBBBBBBBBBBBCBBBCBBBBBBBBBBBBBGBBBCBBBBBBBBBBBBBBBCBBBCBBBCBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBBBFBBBBBBBBBBBBBBBBBBBFBBNJBBKHBBHFBBHFBBBFBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBB";
  278.        + "BBBBBBBBBBBBBBBB"
  279.       classId = "{0842D100-1E19-101B-9AAF-1A1626551E7C}"
  280.    endwith
  281.  
  282.  
  283.  
  284.  
  285.    this.COMBOSUPPLIER = new COMBOSUPPLIER(this)
  286.    with (this.COMBOSUPPLIER)
  287.       onChange = class::REFRESHCHART
  288.       onOpen = class::COMBOSUPPLIER_ONOPEN
  289.       height = 1.1053
  290.       left = 3
  291.       top = 14.2105
  292.       width = 44
  293.       metric = 0
  294.       fontName = "MS Sans Serif"
  295.       fontSize = 8
  296.    endwith
  297.  
  298.  
  299.    this.BUTTONOK = new PUSHBUTTON(this)
  300.    with (this.BUTTONOK)
  301.       onClick = class::BUTTONOK_ONCLICK
  302.       height = 1.2105
  303.       left = 53
  304.       top = 14.2105
  305.       width = 12
  306.       text = "OK"
  307.       metric = 0
  308.       fontName = "MS Sans Serif"
  309.       fontSize = 8
  310.       group = true
  311.       colorNormal = "BtnText/BtnFace"
  312.       pageno = 0
  313.       value = false
  314.    endwith
  315.  
  316.  
  317.    this.ERRORMSG = new TEXT(this)
  318.    with (this.ERRORMSG)
  319.       height = 9
  320.       left = 5
  321.       top = 2.3684
  322.       width = 59
  323.       metric = 0
  324.       colorNormal = "darkred/darkred"
  325.       fontBold = true
  326.       text = "Graphics Server not found. To view the chart, exit Visual dBASE and install the sample ActiveX controls for Visual dBASE. If the ActiveX controls are already present, check the windows system folder for GRAPH32.OCX and register the ActiveX with REGSVR32."
  327.       pageno = 2
  328.    endwith
  329.  
  330.  
  331.    this.rowset = this.DMINVENTORY.ref.supplier1.rowset
  332.  
  333.    // {Linked Method} form.combosupplier.onOpen
  334.    function comboSupplier_onOpen
  335.       COMBOSUPPLIER::COMBOSUPPLIER_OnOpen()
  336.       class::refreshChart()
  337.       this.form.pageno := 1
  338.    return true
  339.  
  340.    // {Linked Method} form.buttonok.onClick
  341.    function buttonok_onClick
  342.       this.form.comboSupplier.onChange := null
  343.    return ( this.form.close() )
  344.  
  345.    // {Linked Method} form.combosupplier.onChange
  346.    function refreshChart
  347.       local i, rInvent
  348.       i = 1
  349.       rInvent   = this.form.dmInventory.ref.inventory1.rowset
  350.       rSupplier = this.form.dmInventory.ref.supplier1.rowset
  351.       rSupplier.applyLocate( "COMPANY = '" + this.value + "'" )
  352.       rInvent.filter := '"Supplier ID" = ' + ;
  353.          rSupplier.fields["Supplier ID"].value
  354.       with ( this.form.chart.nativeObject )
  355.          resetData := gphGraphData
  356.          resetData := gphLabelText 
  357.          numPoints := rInvent.count()
  358.          graphTitle := "Inventory from " + ;
  359.            rSupplier.fields["Company"].value
  360.          rInvent.first()
  361.          do while ( not rInvent.endOfSet )
  362.             thisPoint := i
  363.             graphData := rInvent.fields["Qty"].value
  364.             thisPoint := i
  365.             labelText := rInvent.fields["Description"].value
  366.             i++
  367.             rInvent.next()
  368.          enddo
  369.          drawmode := gphBlit
  370.       endwith
  371.    return true
  372.  
  373.    // {Linked Method} form.open
  374.    function Form_open
  375.    return ( class::Form_readModal() )
  376.  
  377.    // {Linked Method} form.readModal
  378.    function Form_readModal
  379.       local bChartFound
  380.       bChartFound = ( TYPE("this.chart.nativeObject.numPoints") == "N" )
  381.       if ( bChartFound )
  382.          with ( this.chart.nativeObject )
  383.             graphType  := gphBar3d
  384.             background := gphLightGray
  385.          endwith
  386.          this.comboSupplier.value := ;
  387.             this.dmInventory.ref.supplier1.rowset.fields["COMPANY"].value
  388.          this.pageno := 3 // start with blank page
  389.       else
  390.          with ( this )
  391.             comboSupplier.onOpen := null
  392.             pageno := 2 // error page
  393.          endwith
  394.       endif
  395.       this.mdi := false
  396.    return ICHARTFORM::READMODAL()
  397. endclass
  398.